﻿Imports System.Diagnostics
Imports System.Windows.Forms
Imports Chiroredactie2007.My.Resources

Public Class WebOpzoeking

    Private mUrl As String

    Public Property Url() As String
        Get
            Return mUrl
        End Get
        Set(ByVal value As String)
            ' Validatie: geldige url
            Dim adres As Uri
            If Uri.TryCreate(value, UriKind.Absolute, adres) Then
                mUrl = value
            Else
                Throw New ArgumentException(OngeldigeOpzoekingFoutString, "value")
            End If
        End Set
    End Property

    Public Sub New(ByVal UrlParam As String)
        Url = String.Format(UrlParam, GeselecteerdeTekst)
    End Sub

    ''' <summary>
    ''' Start de default browser en surf naar de opgegeven url
    ''' </summary>
    ''' <remarks></remarks>
    Public Sub Uitvoeren()
        Try
            Process.Start(Url)
        Catch ex As Exception
            MessageBox.Show(GeenInternetverbindingOfTrageBrowserFoutString, FoutString, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
        End Try
    End Sub

    ''' <summary>
    ''' Zorg dat er tekst geselecteerd is, en dat die aan bepaalde normen voldoet,
    ''' zodat ze kan dienen als toevoeging in een querystring
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Private Function GeselecteerdeTekst() As String
        Dim selectie As Word.Selection
        Dim zoekterm As String

        selectie = Globals.ThisAddIn.Application.Selection
        zoekterm = Trim(selectie.Text)

        If selectie.Characters.Count <= 1 Then
            ' Als er nog niets geselecteerd was, selecteren we het woord waar de cursor staat
            selectie.MoveRight(Word.WdUnits.wdWord, 1)
            selectie.MoveLeft(Word.WdUnits.wdWord, 1, Word.WdMovementType.wdExtend)
            zoekterm = Trim(selectie.Text)
        End If

        Return zoekterm
    End Function

End Class
